package com.pssmobile.genericglossary.common;

public interface ITermsNavigator {

    /**
     * Add/Remove clients to listen for navigation events.
     * E.g. client will be notified when current term changed 
     * @param listener
     */
    public void addListener (ITermsNavigatorListener listener);
    public void removeListener (ITermsNavigatorListener listener);
    
    /**
     * Get termID of currently selected term
     * @return termID
     */
    public int getCurrentTerm();
    
    /**
     * Set specified term as currently selected
     * @param termID 
     */
    public void setCurrentTerm( int termID );
    
    /**
     * Make next term as currently selected
     * @return termID
     */
    public int goNextTerm();
    
    /**
     * Make prev term as currently selected
     * @return termID
     */
    public int goPrevTerm();
    
    /**
     * Make random term as currently selected
     * @return termID
     */
    public int goRandomTerm();
}
